Systems and methods for improved calculation of coefficient for price sensitivity

ABSTRACT

Various embodiments of the present invention provide systems, methods, and computer program products for calculating a sufficiently accurate coefficient for price sensitivity to use in a target pricing system. In general, various embodiments of the invention involve providing an expanded data set by adding shadow data to a historical bid data set that allows a logistic regression approach to mathematically calculate the coefficient for price sensitivity with greater accuracy.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a divisional of and claims priority to U.S.application Ser. No. 13/009,112, filed Jan. 19, 2011, which is herebyincorporated herein in its entirety by reference.

BACKGROUND

Parcel shipping is a highly competitive industry, particularly for largecommercial customers of parcel shipping companies. These shippingclients typically purchase shipping services through a competitivebidding process. For instance, a shipping client takes bids on an annualbasis to select a parcel shipping company to handle substantially all ofthe client's shipping needs for an annual period. Although air andground shipping services are sometimes bid separately, within thesecategories each contract is typically bid as an “all requirements”shipping contract covering a portfolio of shipping services for anextended period of time, such as, for example, a year.

A major parcel shipping company may have thousands of commercialcontracts of this nature that are competitively re-bid on an annualbasis. In addition, each shipping client may have aspects to theirshipping needs that, if properly reflected in the bid price, can improvethe parcel shipping company's likelihood of winning the bid. Forexample, some customers may be more expensive to provide service to thanothers, due to factors such as average size of the parcels, the typicalnumber of parcels in each pickup, the distance and particular locationsshipped to, the proximity of pickup sites to transportation routes, andmany other factors. In practice, knowledge of these special factorsallows the parcel shipping company to profitably offer many potentialclients a discount or incentive to win their business.

Traditionally, bid pricing in the parcel shipping industry has beenassisted by computer systems that estimate the cost of servingindividual customers, taking into account the special factors listedabove. However, many traditional cost-of-service based bidding systemshave a number of drawbacks as pricing tools for competitively bid goodsand services. Specifically, these systems lack the ability to factor themarket response of customers and competitors into the pricing decisions.This is because, in large-part, these systems are cost-focused, eventhough customers may demand products and services that are tailored totheir specific needs. Thus, target pricing systems have been developedto reflect market and competitor response characteristics into bidpricing to attempt to address the drawbacks of traditionalcost-of-service based bidding systems.

In many instances, these systems include market response models thattake market and competitor response characteristics into account. Inaddition, these models may be configured to utilize logistic regressionto calculate coefficients for both “brand preference” and “pricesensitivity” input variables in order to determine the best estimate forthe probability of winning the bid. However, many times, the models usedin legacy systems are not able to calculate a sufficiently accuratecoefficient for price sensitivity, and as a result, this parameter isfixed at a constant value. Therefore, a need exists for providing anexpanded data set that allows the logistic regression approach tomathematically calculate the coefficient for price sensitivity withgreater accuracy.

BRIEF SUMMARY OF VARIOUS EMBODIMENTS OF THE INVENTION

Various embodiments of the invention provide systems and methods forcreating shadow data to enhance a historical bid data set. In particularembodiments, the historical bid data set includes a plurality of recordsin which each record of the plurality of records representing a bid forbusiness.

In various embodiments, the systems and methods are configured forsetting a variable N to a positive integer corresponding to a number ofadditional data records to be added for each record in the historicalbid data set. In addition, the systems and methods are configured forsetting a variable Delta to a positive number corresponding to apercentage change in a price where each new data record is created. Inparticular embodiments, the systems and methods are configured forsetting a variable i equal to 0, setting a variable P as an originalprice for a bid represented by the record, and looping N number of timesfor each record in the historical bid data set.

For each loop, the systems and methods are configured for modifying therecord to use a new price P′ that corresponds to a new price ratio ofPR−i*Delta, in response to the bid being an accepted bid, or modifyingthe record to use a new price P′ that corresponds to a new price ratioof PR+i*Delta, in response to the bid being a rejected bid. Further, foreach loop, the systems and methods are configured for saving themodified record as a new record in the historical bid data set to forman enhanced historical bid data set and adding one to the variable i.

In various embodiments, the systems and methods are further configuredfor determining a coefficient of price sensitivity by performing aregression analysis on the enhanced historical bid data set. Inparticular embodiments, the regression analysis is performed as alogistic regression. Further, in various embodiments, the systems andmethods are configured for defining a market response model using theenhanced historical bid data set, wherein the market response modelprovides a probability of winning a bid at a particular price. Inparticular embodiments, the systems and methods are further configuredfor using the market response model to determine an optimal price forthe bid.

In addition, various embodiments of the invention provide systems andmethods for creating shadow data to enhance a historical bid data setthat are configured for setting a variable N to a positive integercorresponding to a number of additional data records to be added foreach record in the historical bid data set, setting a variable MaxPR toa maximum price ratio allowed, setting a variable MinPR to a minimumprice ratio allowed, and setting a variable Ratio to a real numbergreater than or equal to one and defining a distance between successivedata records that are added. In these particular embodiments, thesystems and methods are configured for setting a variable SUMMULTIPLIERequal to zero, setting a variable PR as an original price for a bidrepresented by the record, setting a variable i equal to one, andlooping N number of times for each record in the historical bid dataset.

For each loop, the systems and methods are configured for setting avariable MULTIPLIER(i)=Ratiô(i−1), setting a variableSUMMULTIPLIER=SUMMULTIPLIER+MULTIPLIER(i), and adding one to thevariable i. Further, for each loop, the systems and methods areconfigured for setting a variable Delta=(PR−MinPR)/SUMMULTIPLIER, inresponse to the bid being an accepted bid, or setting the variableDelta=(MaxPR−PR)/SUMMULTIPLIER, in response to the bid being a rejectedbid. In addition, in these particular embodiments, the systems andmethods are also configured for setting a variable j equal to one andlooping N number of times.

For each of these loops, the systems and methods are configured forsetting a variable PARTIALSUMMULTIPLIER to a sum of a partial arraycomprising MULTIPLIER(1) to MULTIPLIER(j) and modifying the record touse a new price P′ that corresponds to a new price ratio ofPR−Delta*PARTIALSUMMLITPLIER, in response the bid being an accepted bid,or modifying the record to use a new price P′ that corresponds to a newprice ratio of PR+Delta*PURTIALSUMMULTIPLIER, in response to the bidbeing a rejected bid. Further, in these particular embodiments, thesystems and methods are configured for saving the modified record as anew record in the historical bid data set to form an enhanced historicalbid data set and adding one to the variable j.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 shows components of a target pricing system.

FIG. 2 shows a flow diagram of a target price calculator.

FIG. 3 shows an exemplary schematic diagram of a system that includes amarket response model according to one embodiment of the presentinvention.

FIG. 4 shows an exemplary schematic diagram of a market response serveraccording to one embodiment of the present invention.

FIG. 5 shows a flow diagram of a GenerateMRMCoefficients moduleaccording to one embodiment of the invention.

FIG. 6 shows a flow diagram of filtering historical data according toone embodiment of the present invention.

FIG. 7 shows a probability of winning chart.

FIG. 8 shows a probability of winning chart.

FIG. 9 a shows a flow diagram of a create shadow data module accordingto one embodiment of the present invention.

FIG. 9 b shows a flow diagram of a create shadow data module accordingto another embodiment of the present invention.

FIG. 10 a shows a probability of winning chart.

FIG. 10 b shows a probability of winning chart.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

Various embodiments of the present invention now will be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the inventions are shown. Indeed, theseinventions may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. The term “or” is used herein in both the alternativeand conjunctive sense, unless otherwise indicated. Like numbers refer tolike elements throughout.

I. Methods, Apparatus, Systems, and Computer Program Products

As should be appreciated, the embodiments may be implemented in variousways, including as methods, apparatus, systems, or computer programproducts. Accordingly, the embodiments may take the form of an entirelyhardware embodiment or an embodiment in which a processor is programmedto perform certain steps. Furthermore, the various implementations maytake the form of a computer program product on a computer-readablestorage medium having computer-readable program instructions embodied inthe storage medium. Any suitable computer-readable storage medium may beutilized including hard disks, CD-ROMs, optical storage devices, ormagnetic storage devices.

Particular embodiments are described below with reference to blockdiagrams and flowchart illustrations of methods, apparatus, systems, andcomputer program products. It should be understood that each block ofthe block diagrams and flowchart illustrations, respectively, may beimplemented in part by computer program instructions, e.g., as logicalsteps or operations executing on a processor in a computing system.These computer program instructions may be loaded onto a computer, suchas a special purpose computer or other programmable data processingapparatus to produce a specifically-configured machine, such that theinstructions which execute on the computer or other programmable dataprocessing apparatus implement the functions specified in the flowchartblock or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the functionality specified in theflowchart block or blocks. The computer program instructions may also beloaded onto a computer or other programmable data processing apparatusto cause a series of operational steps to be performed on the computeror other programmable apparatus to produce a computer-implementedprocess such that the instructions that execute on the computer or otherprogrammable apparatus provide operations for implementing the functionsspecified in the flowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport various combinations for performing the specified functions,combinations of operations for performing the specified functions andprogram instructions for performing the specified functions. It shouldalso be understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions oroperations, or combinations of special purpose hardware and computerinstructions.

II. Target Pricing System

Target Pricing (TP) is generally a methodology that enables a company tooptimize its pricing and associated business processes to increaseprofit. In many instances, TP leverages information about competitors,costs, and market response behavior to set customer-specific prices thatmaximize expected financial contribution. In various embodiments, a TPsystem may involve using different types of Graphical User Interfaces(GUIs) to collect account and bid information and to submit theinformation to a Target Pricing Engine (TPE) that performs anoptimization and returns the optimal price range at which to offer a bidon a particular piece of business. Thus, a company may then use theoptimal price range to draft and submit a proposal to a potentialcustomer for the business associated with the bid. Such a system isdescribed in greater detail in U.S. Pat. No. 6,963,854 issued Nov. 8,2005 and incorporated by reference in its entirety.

For instance, FIG. 1 provides a diagram of a typical TP system.Individuals 105, such as account executives working for a company, enterthe bids into the system through one or more types of computerinterfaces such as TP bid entry screens 110, a legacy account managementsystem 115, a service bureau 120, a sales force automation system 125, aproduct vertical interface 130, and/or other systems 135.

The TP bid entry screens 110 may be provided with the TP system forcustomers who do not want or need one of the other alternatives. Thelegacy account management system 115 is typically a proprietary solutiondeveloped by the user (e.g., company). The sales force automation system125 is typically purchased from a third party software provider, suchas, for example, Siebel®, Baan®, Vantive or Oracle®. In variousembodiments, the service bureau 120 may use standard TP bid entryscreens. Other systems 135 may include such components as interfacescreens developed specifically for alternative hardware/software toolsused by individuals in the company, such as, for example, smart phones.The products vertical interface 130 may be provided as part of the TPsystem, but may be customized for a particular industry, e.g., freighttransportation.

Each of these different types of GUI's may be used to collect accountand bid information. In various embodiments, the GUI then submits acompleted bid via a communications link 140, which in variousembodiments may be a communications network such as the Internet and/oran intranet, to the TPE 145. The TPE 145 then performs the optimizationand returns the optimal price range at which to offer the bid. Inresponse to receiving the price range, an individual 105 in variousembodiments presents the proposal to the customer and then negotiateswith them. Once the final status of the bid has been determined (won orlost), the bid is updated in the system.

In various embodiments, the TPE 145 may also support analysis via ananalysis interface 150. Further, in particular embodiments, the TPE 145may also generate product report data, which is used to populate areporting data store 155 (e.g., one or more types of storage media suchas). This data may be extracted from the data store 155 and may be usedto form the basis of business objects 160 used in reports 165 and alerts170.

III. Target Price Calculator

In various embodiments, the TPE includes a Target Price Calculator (TPC)that is called upon after a bid has been constructed and needs to bepriced. In various embodiments, the TPC uses a variety of parameters toperform its optimization in real-time. For instance, in particularembodiments, the inputs include a product model that defines businessobjects such as companies that include the TP user and/or itscompetitors, bids, products and/or services that the TP user provides ina bid and/or are provided by competitors, and options for auxiliarysub-products that can be added to a product, but that cannot typicallybe ordered on their own. Further, in particular embodiments, the inputsinclude parameters used for calculating market response, which mayinvolve running a Market Response Model (MRM) at regular intervals toupdate these parameters in response to recently observed bid data.

According to various embodiments, the TPC may perform several steps inorder to calculate a target bid price. For instance, FIG. 2 provides aflow diagram of typical functions (e.g., steps) performed by the TPCaccording to one embodiment. As will be apparent from a review of thebelow steps, the steps carried out by the TPC in various embodiments arereadily adaptable for use in an automated system, such as in softwareexecuting on a computer platform.

In Step 201, the TPC prices the bid preferably using list prices in aproduct model. In particular embodiments, these prices may be gathereddirectly from current data or obtained from a third party or proprietarypricing system. In Step 202, the TPC costs the bid using the costs inthe product model. In particular embodiments, these costs may either begathered manually, obtained from a proprietary costing system from thirdparties, and/or retrieved in real-time from external systems.

Once the bid is costed the TPC calculates an equivalent competitor netprice for the bid, shown as Step 203. In various embodiments, theequivalent competitor net price is the price competitor(s) would chargeto the particular customer after any discounting has occurred. Invarious embodiments, the list prices for competitor products arepreferably maintained in the product model, but an appropriatediscounting mechanism may be applied to the list prices to determine thenet price.

Next, in Step 204, the TPC calculates the probability of winning the bidas a function of the company's price. In particular embodiments, theprobability is preferably calculated using the parameters from a MRM asdescribed is greater detail below. In addition, in particularembodiments, the benefits of target pricing over the company's existingpricing approach may be calculated.

Further, in various embodiments, the TPC is configured to perform anoptimization process to generate the optimum target bid price. Thus, inStep 205, the TPC computes the price that maximizes the expected revenuecontribution for the bid. In particular embodiments, this step isperformed by the TPC balancing the contribution which increases as priceincreases, and the win probability, which decreases as price increases.

Given the target price computed above, the TPC applies any applicablediscounts to each product within the bid, shown as Step 206. Inaddition, in particular embodiments, Steps 205 and 206 may be repeatedtaking into account any strategic objectives that have been specified,such as, for example, minimum success rates used to override the initialvalues calculated. Thus, in these particular embodiments, the TPCdetermines whether the strategic objectives have been considered, shownas Step 207. Finally, in Step 208, the TPC communicates a target price(e.g., a target price range). For instance, in one embodiment, the TPCrelays the target price (e.g., a target price range) back to an accountbid system so that the price may be used in a bid proposal to thecustomer.

IV. Market Response Model

As mentioned above, in various embodiments, a Market Response Model(MRM) is used in calculating the target bid price. Such a MRM isdescribed in greater detail in U.S. Published Patent Application2003/0220773, which is incorporated by reference in its entirety. Inparticular embodiments, the MRM calculates the win probability as afunction of price through the examination of historical bid informationat various prices. Further, in particular embodiments, the MRM requiresthat customers be segregated into distinct market segments. These marketsegments may be determined through a detailed analytical investigation.

In various embodiments, the MRM performs three key functions. First, theMRM updates the coefficients for market response predictors on the basisof historical data. These predictors are measurement or indicatorvariables used to estimate (or predict) the win probability for a bid.Typically, in various embodiments, these predictors are broken down intomarket segmentation criteria and/or bid variables. Second, the MRMevaluates the price-independent predictors for a particular bid togenerate a market response curve that depends only on price. Third, theMRM calculates the estimated probability of winning (e.g., the marketresponse) for a particular bid and offered price. Predictors may bemarket segmentation criteria, bid drivers, or a product of several ofthese. In various embodiments, the bid drivers are defined atimplementation time and cannot be modified with the TP system.

To provide these functions in various embodiments, the MRM may supportone or more lower level services (e.g., modules). For example, as shownin FIG. 3, the MRM 302 may support the InitializeMRMForBid module 303.In particular embodiments, the TPC 301 invokes this module 303 once foreach bid prior to starting the optimization process. Once a bid isknown, the values of all variables except those based on price may beknown. This module 303 evaluates each of the price-independent variablesand computes their sum.

In addition, in particular embodiments, the InitializeMRMForBid module303 and/or a GenerateMRMCoefficients module 500 may invoke theTransformPriceIndependentVariables module (not shown). In variousembodiments, this module produces a set of values of market responsedrivers involving functional transformations of non-price bidattributes. These attributes may refer to a new bid, a currently activebid, or historical bids.

In addition, in particular embodiments, the TPC 301 invokes theCalculateWinProbabilityGivenPrice module 304 to determine the targetprice. The values of the price-dependent variables are computed based onthe given price and are plugged into the formula along the valuescomputed by InitializeMRMForBid module 303 to obtain the winprobability. In particular embodiments, theCalculateWinProbabilityGivenPrice module 304 invokes aTransformPriceDependentVariables (not shown) to produce a set of valuesof market response drivers. Each driver may invoke a price variable andpossibly other bid attributes that may refer to a new bid, a currentlyactive bid, or historical bids.

In addition, in particular embodiments, the TPC 301 invokes aGenerateMRMCoefficients module 500. As described in greater detailbelow, part of the process for generating the coefficients is applyingdata filters to the historical bids (e.g., historical bid data 309) toobtain a set of bids that is be used for model fitting. In variousembodiments, a regression is run to obtain the coefficients of thevariables.

In addition, in particular embodiments, the TPC 301 invokes anExpandParameterSet Module 305 prior to running the regression ordisplaying the model coefficients if the parameter set does not containthe expanded model representation. Finally, the TPC 301 invokes aCustomCode module 306 that may provide customized functionality based onthe particular customer's system. For instance, in particularembodiments, the CustonCode module 306 may include such functionality asretrieving price dependent, price independent, discrete variable namesand discrete variable levels and transforming the price dependent, priceindependent, and discrete variables.

For every predictor, the MRM 302 estimates and stores the coefficientvalues which define a market response curve. At run time, thesecoefficients are used in combination with bid characteristics tocalculate win probabilities. That is, a model is build by fittingassociated coefficients with identified predictors so as to define oneor more win probability curves. Typically, coefficients fall into twocategories: price-dependent and price independent. In particularembodiments, the price-independent coefficients may be viewed asconstants and computed in advance when computing the optimal targetprice.

In various embodiments, the inputs to the MRM 302 may include the marketsegments 308 and the price-dependent and price-independent predictorsfor each market segment. The outputs from the MRM 302 may includeprice-independent and price-dependent coefficients, bid-specific marketresponse curves, and bid-and-price-specific win probability estimates.

V. Market Response Server

In various embodiments, the MPM 302 may reside on one or more computingdevices (such as one or more servers). FIG. 4 provides a schematic of amarket response server 400 according to one embodiment of the presentinvention. The term “server” is used generically to refer to anycomputer, computing device, desktop, notebook or laptop, distributedsystem, server, gateway, switch, or other processing device adapted toperform the functions described herein. As will be understood from thisfigure, in this embodiment, the market response server 400 includes aprocessor 60 that communicates with other elements within the marketresponse server 400 via a system interface or bus 61. The processor 60may be embodied in a number of different ways. For example, theprocessor 60 may be embodied as various processing means such as aprocessing element, a microprocessor, a coprocessor, a controller orvarious other processing devices including integrated circuits such as,for example, an application specific integrated circuit (“ASIC”), afield programmable gate array (“FPGA”), a hardware accelerator, or thelike. In an exemplary embodiment, the processor 60 may be configured toexecute instructions stored in the device memory or otherwise accessibleto the processor 60. As such, whether configured by hardware or softwaremethods, or by a combination thereof, the processor 60 may represent anentity capable of performing operations according to embodiments of thepresent invention while configured accordingly. A display device/inputdevice 64 for receiving and displaying data is also included in themarket response server 400. This display device/input device 64 may be,for example, a keyboard or pointing device that is used in combinationwith a monitor. The market response server 400 further includes memory65, which may include both read only memory (“ROM”) 66 and random accessmemory (“RAM”) 67. The application server's ROM 66 may be used to storea basic input/output system (“BIOS”) 26 containing the basic routinesthat help to transfer information to the different elements within themarket response server 400.

In addition, in one embodiment, the market response server 400 includesat least one storage device 63, such as a hard disk drive, a CD drive,and/or an optical disk drive for storing information on variouscomputer-readable media. The storage device(s) 63 and its associatedcomputer-readable media may provide nonvolatile storage. Thecomputer-readable media described above could be replaced by any othertype of computer-readable media, such as embedded or removablemultimedia memory cards (“MMCs”), secure digital (“SD”) memory cards,Memory Sticks, electrically erasable programmable read-only memory(“EEPROM”), flash memory, hard disk, or the like. Additionally, each ofthese storage devices 63 may be connected to the system bus 61 by anappropriate interface.

Furthermore, a number of program modules (e.g., set of computer programinstructions) may be stored by the various storage devices 63 and/orwithin RAM 67. Such program modules may include an operating system 80,the InitializeMRMForBid module 303, theCalculateWinProbabilityGivenPrice module 304, the ExpandParameterSetmodule 305, the CustomCode module 306, and the GenerateMRMCoefficientsmodule 500, as previously described, and a create shadow data module900. As previously explained, these modules 303, 304, 305, 306, 500, 900may control certain aspects of the operation of the market responseserver 400 with the assistance of the processor 60 and operating system80, although their functionality need not be modularized.

Also located within the market response server 400, in one embodiment,is a network interface 74 for interfacing with various computingentities. This communication may be via the same or different wired orwireless networks (or a combination of wired and wireless networks), asdiscussed above. For instance, the communication may be executed using awired data transmission protocol, such as fiber distributed datainterface (“FDDI”), digital subscriber line (“DSL”), Ethernet,asynchronous transfer mode (“ATM”), frame relay, data over cable serviceinterface specification (“DOCSIS”), or any other wired transmissionprotocol. Similarly, the market response server 400 may be configured tocommunicate via wireless external communication networks using any of avariety of protocols, such as 802.11, general packet radio service(“GPRS”), wideband code division multiple access (“W-CDMA”), or anyother wireless protocol.

It will be appreciated that one or more of the market response server's400 components may be located remotely from other market response server400 components, such as multiple market response servers 400.Furthermore, one or more of the components may be combined andadditional components performing functions described herein may beincluded in the market response server 400.

VI. Exemplary System Operation

Reference will now be made to FIGS. 5-10b which illustrate operationsand processes as produced by various embodiments of the invention. Forinstance, FIG. 5 provides a flow diagram of the GenerateMRMCoefficientsmodule 500 as previously described above. FIG. 6 provides a flow diagramfor filtering historical data that is used to form the data set used bythe GenerateMRMCoefficients module 500 according to various embodiments.Further, FIGS. 9 a and 9 b provide flow diagrams of a create shadow datamodule 900 invoked by the GenerateMRMCoefficients module 500 accordingto various embodiments. These modules 500, 900 are described in greaterdetail below.

a. GenerateMRMCoefficients Module

As previously described, in various embodiments, the TPC 301 invokes aGenerateMRMCoefficients module 500 to generate the coefficients used incombination with account and bid characteristics to calculate winprobabilities. FIG. 5 illustrates a flow diagram of theGenerateMRMCoefficients module 500 according to various embodiments.This flow diagram may correspond to the steps carried out by theprocessor 60 in the market response server 400 shown in FIG. 4 as itexecutes the module 500 in the server's RAM memory 67 according tovarious embodiments.

Thus, starting with Step 501, the GenerateMRMCoefficients module 500retrieves a current parameter set. In various embodiments, the parameterset may include market segmentation and bid characteristics. Aspreviously described, market segments may be defined so that informationon groups with similar attributes are used for various functionality inthe TP system. For instance, segments may be defined under discretesegmentation such as grouping customers by regions of the country.Continuous segmentation may also be used to group customers intospecific buckets using a continuous indicator variable such as annualrevenues. Hierarchical market segmentation may also be used to groupcustomers into more than one layer of segmentation such as geographicregion (e.g., North, South, East, and West) and state (e.g., Florida,Georgia, Maine, New York). Any combination of these or othersegmentation techniques may be sued to group data. In variousembodiments, these market segments may be used in market responsemodeling for estimating how different types of customers react todifferent prices, for price and cost modeling, to model competitordiscounting behavior, and to model pre-existing pricing methods.

In many instances, bid characteristics are set up by the system ownerduring installation and the values for the characteristics are specificto the particular bid being evaluated. For example, the bidcharacteristics may be defined as bid volume (e.g., the quantity orderedfor a given portfolio), bid gross revenue (e.g., list price×quantity forall products in the portfolio), bid contribution (e.g.,contribution=(revenue−cost)×quantity for all the products in a givenbid), and key competitors (e.g., define competitors that exist for agiven bid).

The GenerateMRMCoefficients module 500 next retrieves historical data onone or more bids, shown as Step 502. In various embodiments, thehistorical data includes variables reflecting customer characteristics,product characteristics, and market characteristics. This data may bestored either internally within the TP system or may retrieved from anexternal source. For instance, the historical data may come frommultiple sources such as sources that represent current marketplaceconditions, sources that include data from a mix of products andcompetitors, and/or sources that include a complete set of quote records(e.g., account characteristics, quote characteristics, prior priceoffered, competitors, competitors' offered prices, and prior quotewinners). Next, in Step 503, the GenerateMRMCoefficients module 500applies one or more data filters to the historical data. As is describedin greater detail below, this step is performed to exclude data forundesired bids from the data set used to determine the coefficients.

In Step 504, the GenerateMRMCoefficients module 500 forms the data setused to run the regression. That is, in various embodiments, theGenerateMRMCoefficients module 500 transforms the bid attributes intoforms that can be used in the MRM 302. For instance, in particularembodiments, the GenerateMRMCoefficients invokes one or more modules totransform the price independent variables, the price dependentvariables, and the discrete variables for each bid in the filteredhistorical data into a form that can be used in the MRM 302. In manyinstances, the modules invoked to perform the transformation may includecustom code because of variations in the historical bid data that mayhave from user to user.

Once the data set is in the proper form, the GenerateMRMCoefficientsmodule 500 runs a regression analysis on the data set, shown as Step505. Dependent on the embodiment, the module 500 may use different formsof regression on the data set. For instance, in various embodiments, themodule 500 performs binomial logistic regression on the data set. Whilein other embodiments, the module 500 performs multinomial logisticregression. Thus, in these particular embodiments, theGenerateMRMCoefficients module 500 uses the logit function to determinethe best fitting market response curve. This form of regression may beused in order to ensure the output is between zero and one for any setof characteristics. In addition, this form of regression provides asmooth negative slope that makes it easy to get price sensitivity fromthe first derivative, and mathematical properties of the logit functionoffer efficient numerical computation and an intuitive interpretation ofthe fitted coefficients. As a result of the regression analysis, thecoefficients for the market response variables are calculated. Giventhese coefficients, the win probability of any bid can easily becalculated for a specific price.

In Step 506, the GenerateMRMCoefficients module 500 saves the output ofthe regression. For instance, in one embodiment, theGenerateMRMCoefficients module 500 saves the output to one or more filesthat are stored within the TP system. While in another embodiment, themodule 500 saves the output to one or more databases within the TPsystem. It should be apparent to those of ordinary skill in the art inlight of this disclosure that the output may be saved in a variety waysusing a variety of storage media. Finally, in Step 507, theGenerateMRMCoefficients module 500 saves the determined coefficients inthe active parameter set. As a result, the coefficients may then be usedfor future target pricing inquiries to calculate win probabilities.

Returning to Step 503 for filtering the historical data, FIG. 6 providesa flow diagram of the steps carried out by the GenerateMRMCoefficientsmodule 500 according to one embodiment. In Step 601, theGenerateMRMCoefficients module 500 excludes bids won by competitors notnamed in the list of competitors in the active parameter set. Further,in Step 602, the GenerateMRMCoefficients module 500 excludes flaggeddata. In particular embodiments, various bids in the historical data setmay be marked with an “exclude bid” flag for various reasons. Forinstance, a particular bid may be identified as an outliner because thebid represents a winning bid however the bid may have been won becauseof circumstances outside of the bid characteristics. For example, a bidmay have been won because the bid was enter by a company owned by arelative of an officer of the company accepting the bid. Therefore, thebid may have been won because of nepotism as opposed to the competitivenature of the bid. Therefore, in this instance, the bid may be markedwith an exclusion flag.

In Step 603, the GenerateMRMCoefficients module 500 creates shadow datato add to the historical bid data. In various embodiments, one of thecoefficients calculated by the GenerateMRMCoefficients module 500 is acoefficient for price sensitivity. Typically, the probability of winninga bid decreases as the bid price increases. That is, typically,customers are less willing to purchase a product as the price of theproduct increases. However, under certain circumstances, the probabilityof winning a bid may have a direct relationship with bid price asopposed to an inverse relationship. There are a number of reasons thismay occur. For instance, in certain circumstances, one or morecompetitors may employ implicit strategies. For example, in certaincircumstances, there may be situations in which a buyer may be willingto pay a higher price to a particular seller because of certainintangibles such as long-term loyalty and/or superior service. Underthese circumstances, the seller may recognize this and may deliberatelyset the price higher to maximize profit. In the converse situation, aseller may realistically have little chance of winning a bid and may bewilling to gamble with a very low price offer. If these two scenariosoccur with some frequency, the historical data may produce results thatare not reasonably sound. To counter this effect, in many instances, thecoefficient for price sensitivity is arbitrarily fixed as a constant(e.g., −12) for all customers and products.

To further illustrate this problem, consider a historical data setconsisting of two bids: (1) Customer A accepts a bid at a price ratio(calculated as the company's price divided by the competitor's price) of0.95 and (2) Customer B rejects a bid at a price ratio of 1.05. Solvingthis example with logistic regression gives the probability curve shownin FIG. 7. This curve is consistent with a rational decision-maker inthat as the company's price (and the price ratio) is reduced, thecustomer is more likely to accept the bid. However, if two more datapoints are added that include (3) Customer C rejects a bid at a priceratio of 0.95 and (4) Customer D accepts a bid at a price ratio of 1.05,the probability curve becomes the curve shown in FIG. 8. This curve isinconsistent with a rational decision-maker in that the company's pricehas zero impact on the probability of winning the bid. However,historical data sets of bid information are typically centered on aprice ratio of 1.0 because many bids offered to customers are at or nearthe competitor's price, with other “brand preference” attributesbecoming the deciding factor in bid acceptance (as explained above).Furthermore, any uncertainty in the competitor's price as used in thecalculation of the price ratio can exacerbate the problem by perturbingthe price ratio by small amounts in either direction. As a result, usinglogistic regression to calculate the price sensitivity can lead toirrational results that indicate that customers do not consider priceor, in some cases, are more likely to accept a bid at higher prices thanat lower prices.

Thus, to offset these particular situations, the GenerateMRMCoefficientsmodule 500 in various embodiments of the invention is configured tocreate shadow data. As is explained in greater detail below, shadow datais used to counter the data representing the surprising bid outcomes asdescribed above and is based on assumptions about a rationaldecision-maker. Therefore, in various embodiments, shadow data is usedto enhance the historical bid data with corresponding “shadow datapoints” in order to increase the accuracy of the coefficient for pricesensitivity. As is described below, in these particular embodiments, theGenerateMRMCoefficients module 500 is configured to invoke a create showdata module 900 to perform this function of enhancing the historical biddata with shadow data points.

b. Create Shadow Data Module

In various embodiments, the create shadow data module 900 works underone or more assumptions about a rational customer. For instance, inparticular embodiments, the create shadow data module 900 works underthe assumption that if a customer accepts a bid at a price of X, thenthe customer would accept a similar bid at any price less than X.Further, in particular embodiments, the create shadow data module 900works under the assumption that if the customer rejects a bid at a priceof X, then the customer would reject a similar bid at any price greaterthan X. In addition, it should be noted that simply arbitrarily adding alarge number of shadow data points increases the size of the data setsignificantly, which increases the time it takes for theGenerateMRMCoefficients module 500 to solve for the logistic regressioncoefficients. Therefore, in various embodiments, the create shadowmodule 900 is configured to enhance the historical bid data by addingdata points in specific areas to provide greater benefit to the pricesensitivity calculations.

FIG. 9 a illustrates a flow diagram of the create shadow data module 900according to one embodiment. For this particular version of the module900, two parameters (in addition to the historical bid data) are usedfor input. The first parameter is Delta, which is a positive numbercorresponding to a percentage change in the firm's price where each newdata point will be created. The second parameter is N, which is apositive integer corresponding to the number of additional data pointsto be added for each existing data point in the historical bid data set.

Beginning with Step 901 a, the create shadow data module 900 loads thehistorical bid data. For instance, in one embodiment, the create shadowdata module 900 loads the historical bid data in temporary storage. Thisstorage may be located, for example, on the market response server 400,another computing device, or on some storage media. Further, inparticular embodiments, the historical bid data may have already beenfiltered by the GenerateMRMCoefficients module 500 by excluding thecompetitor data and/or the data that has been flagged (as previouslydescribed).

In Step 902 a, the create shadow data module 900 reads a record from thehistorical bid data. The term “record” is used to represent data fromthe historical bid data related to a single bid. In Step 903 a, thecreate shadow data module 900 sets a counter (e.g., i) to zero (0) andmodifies the bid data for the record to use a new price, shown as Step904 a. In this particular embodiment, the create shadow data module 900first determines whether the current record is for an accepted bid orfor a rejected bid. Allowing for P to be the original price for the bid,for an accepted bid, the create shadow data module 900 modifies the biddata for the current record to use a new price P′ that corresponds to anew price ratio of PR−i*Delta. For a rejected bid, the create shadowdata module 900 modifies the bid data for the current record to use anew price P′ that corresponds to a new price ratio of PR+i*Delta. Thecreate shadow data module 900 then creates a new record from themodified bid data record to add to the historical bid data, shown asStep 905 a. Thus, as a result, the historical bid data (e.g., enhancedhistorical bid data) now includes the current record read by the createshadow data module 900 and a new record created from the modified dataof the current record.

In Step 906 a, the create shadow data module 900 increments the counteri and determines whether the counter i is greater than the parameter N,shown as Step 907 a. If the create shadow data module 900 determines thecounter i is not greater than the parameter N, the create shadow datamodule 900 repeats Steps 904 a, 905 a, and 906 a using the incrementedcounter i. However, if the create shadow data module 900 determines thecounter i is greater than N, the create shadow data module 900determines whether the current record is the last record in thehistorical bid data set, shown as Step 908 a. If the current record isnot the last record in the historical bid data set, the create shadowdata module 900 reads the next record from the historical bid data set,shown as Step 902 a, and repeats the process (e.g., Steps 903 a, 904 a,905 a, 906 a, 907 a, and 908 a) for the newly read record.

Once the create shadow data module 900 determines the last record hasbeen read and processed, the module 900 stores the enhanced historicalbid data, shown as Step 909 a. Thus, in various embodiments, the createshadow data module 900 may store the enhanced historical bid data intemporary and/or permanent storage. As a result, theGenerateMRMCoefficients module 500 then uses the enhanced historical biddata to form the data set for the regression analysis.

It should be noted that the result of the procedure described above isan enhanced historical data set that has N+1 times as many records asthe beginning historical bid data set. Therefore, using the four datapoints in the second example described above and inputs of Delta=0.05and N=5, the price sensitivity is now calculated as show in FIG. 10 a.The result is a curve that is rational with respect to changes in price.

FIG. 9 b illustrates a flow diagram of the create shadow data module 900according to a second embodiment. For this particular version of themodule 900, four parameters (in addition to the historical bid data) areused for input. These four parameters include: (1) MaxPR, which is themaximum price ratio allowed; (2) MinPR, which is the minimum price ratioallowed; (3) Ratio, which is a real number greater than or equal to 1defining the distance between successive data points that are added, avalue of 1 results in equal distances between data points, a value muchgreater than 1 adds points closer to the original bid than the extremes;and (4) N, which is a positive integer corresponding to the number ofadditional data points to be added for each existing data point in thehistorical bid data set.

Therefore, turning to FIG. 9 b, the create shadow data module 900 loadsthe historical bid data (Step 901 b) and reads the first record of thehistorical bid data (Step 902 b) in similar fashion as described abovewith respect to the version of the create shadow data module 900described in FIG. 9 a. In Step 903 b, the create shadow data module 900sets the variable SUMMULTIPLIER=zero (0) and, in Step 904 b, sets thecounter i=one (1). Next, the create shadow data module 900 sets thevariable MULTIPLIER(i)=Ratiô(i−1), shown as Step 905 b, and setsSUMMULTIPLIER=SUMMULTIPLIER+MULTIPLIER(i), shown as Step 906 b. Next,the create shadow data module 900 increments the counter i by one (1),shown as Step 907 b. In Step 908 b, the create shadow data module 900determines whether the counter i is greater than the variable N. If thecounter i is not greater than N, the create shadow data module 900returns to Step 905 b and re-sets the variable MULTIPLER(i) and repeatsSteps 906 b, 907 b, and 908 b. Thus, the create shadow data module 900loops through these steps N number of times.

If the counter i is greater than N, the create shadow data module 900then sets the variable DELTA, shown as Step 909 b. For this particularembodiment, allowing for PR be the original price ratio for this bid,the create shadow data module 900 sets DELTA based on whether thecurrent record is for an accepted bid or for a rejected bid. If thecurrent record is for an accepted bid, the create shadow data module 900sets DELTA=(PR−MinPR)/SUMMULTIPLIER. However, if the current record isfor a rejected bid, the create shadow data module 900 setsDELTA=(MaxPR−PR)/SUMMULTIPLIER.

Next, the create shadow data module 900 resets the counter j to 1, shownas Step 910 b. In Step 911 b, the create shadow data module 900 sets thevariable PARTIALSUMMULTIPLIER to the sum of the partial array ofMULTIPLIER(1) to MULTIPLIER(j). Allowing for P be the original price forthis bid, the create shadow data module 900 modifies the bid data forthe current record, shown as Step 912 b. If the current record is for anaccepted bid, the create shadow data module 900 modifies the bid datafor the current record to use a new price P′ that corresponds to the newprice ratio of PR−DELTA*PARTIALSUMMULTIPLIER. However, if the currentrecord is for a rejected bid, the create shadow data module 900 modifiesthe bid data for the current record to use a new price P′ thatcorresponds to the new price ratio of PR+DELTA*PARTIALSUMMULTIPLIER.

Next, the create shadow data module 900 creates a new record from themodified bid data for the historical bid data set, shown as Step 913 b.Thus, the historical bid data set (e.g., enhanced historical bid dataset) now includes the current record read by the create shadow datamodule 900 and a new record created from the modified data of thecurrent record. At this point, the create shadow bid data module 900increments the counter j by one (1), shown as Step 914 b, and determineswhether the counter j is greater than the variable N, shown as Step 915b. If the counter j is not greater than N, the create shadow data module900 returns to Step 911 b and sets the variable PARTIALSUMMULTIPLIER asdescribe above. The create shadow data module 900 then repeats Steps 912b, 913 b, 914 b, and 915 b, looping through these steps N number oftimes.

If the counter j is greater than N, the create shadow data module 900determines whether the current record is the last record of thehistorical bid data set, shown as Step 916 b. If the current record isnot the last record of the historical bid data set, the create shadowdata module 900 returns to Step 902 b, reads the next record from thehistorical data set, and repeats the process for the newly read record.However, if the current record is the last record of the historical dataset, the create shadow data module 900 stores the enhanced historicalbid data as previously described with respect to the version of thecreate shadow data module 900 described in FIG. 9 a, shown as Step 917b.

The result of this procedure is an enhanced historical bid data set thathas N+1 times as many records as the original historical bid data set.Thus, using the four data points in the second example described aboveand inputs of N=5, MaxPR=1.5, MinPR=0.5, and Ratio=1.61803399, the pricesensitivity is now calculated as show in FIG. 10 b. That is, the resultis a curve that is rational with respect to changes in price.

d. Additional Comments

It should be understood that the functionality of various modulesdescribed above may be combined or separated in particular embodiments.Therefore, the descriptions of the various modules are provided above asthey relate to the functionality performed by various embodiments of theinvention and should not be construed to limit the scope of the claimedinvention.

VII. Conclusion

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

1. A method for creating shadow data to enhance a historical bid dataset, the historical bid data set comprising a plurality of records, eachrecord of the plurality of records representing a bid for business, themethod comprising the steps of: setting, via one or more processors, avariable N to a positive integer corresponding to a number of additionaldata records to be added for each record in the historical bid data set;setting, via the one or more processors, a variable MaxPR to a maximumprice ratio allowed; setting, via the one or more processors, a variableMinPR to a minimum price ratio allowed; setting, via the one or moreprocessors, a variable Ratio to a real number greater than or equal toone and defining a distance between successive data records that areadded; and for each record of the plurality of records: setting, via theone or more processors, a variable SUMMULTIPLIER equal to zero; setting,via the one or more processors, a variable PR as an original price for abid represented by the record; setting, via the one or more processors,a variable i equal to one; looping, via the one or more processors Nnumber of times, wherein for each loop: setting, via the one or moreprocessors, a variable MULTIPLIER(i)=Ratiô(i−1); setting, via the one ormore processors, a variable SUMMULTIPLIER=SUMMULTIPLIER+MULTIPLIER(i);and adding, via the one or more processors, one to the variable i; inresponse to the bid being an accepted bid, setting, via the one or moreprocessors, a variable Delta=(PR−MinPR)/SUMMULTIPLIER; in response tothe bid being a rejected bid, setting, via the one or more processors,the variable Delta=(MaxPR−PR)/SUMMULTIPLIER; setting, via the one ormore processors, a variable j equal to one; and looping, via the one ormore processors, N number of times, wherein for each loop: setting, viathe one or more processors, a variable PARTIALSUMMULTIPLIER to a sum ofa partial array comprising MULTIPLIER(1) to MULTIPLIER(j); in responsethe bid being an accepted bid, modifying the record to use a new priceP′ that corresponds to a new price ratio ofPR−Delta*PARTIALSUMMLITPLIER; in response to the bid being a rejectedbid, modifying the record to use a new price P′ that corresponds to anew price ratio of PR+Delta*PURTIALSUMMULTIPLIER; saving the modifiedrecord as a new record in the historical bid data set to form anenhanced historical bid data set; and adding, via the one or moreprocessors, one to the variable j.
 2. The method of claim 1 furthercomprising the step of determining a coefficient of price sensitivity byperforming a regression analysis on the enhanced historical bid dataset.
 3. The method of claim 2, wherein the regression analysis isperformed as a logistic regression.
 4. The method of claim 1 furthercomprising the step of defining a market response model using theenhanced historical bid data set, the market response model providing aprobability of winning a bid at a particular price.
 5. The method ofclaim 4 further comprising the step of using the market response modelto determine an optimal price for the bid.
 6. A system for creatingshadow data to enhance a historical bid data set, the historical biddata set comprising a plurality of records, each record of the pluralityof records representing a bid for business, the system comprising:memory; and at least one computer processor configured to: read avariable N, the variable N being a positive integer corresponding to anumber of additional data records to be added for each record in thehistorical bid data set; read a variable MaxPR, the variable MaxPR beinga maximum price ratio allowed; read a variable MinPR, the variable MinPRbeing a minimum price ratio allowed; read a variable Ratio, the variableRatio being a real number greater than or equal to one and defining adistance between successive data records that are added; and for eachrecord of the plurality of records: set a variable SUMMULTIPLIER equalto zero; set a variable PR as an original price for a bid represented bythe record; set a variable i equal to one; loop N number of times,wherein for each loop: set a variable MULTIPLIER(i)=Ratio“(i−1); set avariable SUMMULTIPLIER =SUMMULTIPLIER+MULTIPLIER(i); and add one to thevariable i; in response to the bid being an accepted bid, set a variableDelta=(PR−MinPR)/SUMMULTIPLIER; in response to the bid being a rejectedbid, set the variable Delta=(MaxPR−PR)/SUMMULTIPLIER; set a variable jequal to one; and loop N number of times, wherein for each loop: set avariable PARTIALSUMMULTIPLIER to a sum of a partial array comprisingMULTIPLIER(1) to MULTIPLIER(j); in response the bid being an acceptedbid, modify the record to use a new price P′ that corresponds to a newprice ratio of PR−Delta*PARTIALSUMMLITPLIER; in response to the bidbeing a rejected bid, modify the record to use a new price P′ thatcorresponds to a new price ratio of PR+Delta*PURTIALSUMMULTIPLIER; savethe modified record as a new record in the historical bid data set inthe memory to form an enhanced historical bid data set; and add one tothe variable j.
 7. The system of claim 6, wherein the at least onecomputer processor is configured to determine a coefficient of pricesensitivity by performing a regression analysis on the enhancedhistorical bid data set.
 8. The system of claim 7, wherein the at leastone computer processor is configured to perform the regression analysisas a logistic regression.
 9. The system of claim 6, wherein the at leastone computer processor is configured to define a market response modelusing the enhanced historical bid data set, the market response modelproviding a probability of winning a bid at a particular price.
 10. Thesystem of claim 9, wherein the at least one computer processor isconfigured to use the market response model to determine an optimalprice for the bid.
 11. A non-transitory computer-readable mediumcontaining executable code for creating shadow data to enhance ahistorical bid data set, the historical bid data set comprising aplurality of records, each record of the plurality of recordsrepresenting a bid for business, that when executed by at least onecomputer processor causes the at least one computer processor to: read avariable N, the variable N being a positive integer corresponding to anumber of additional data records to be added for each record in thehistorical bid data set; read a variable MaxPR, the variable MaxPR beinga maximum price ratio allowed; read a variable MinPR, the variable MinPRbeing a minimum price ratio allowed; read a variable Ratio, the variableRatio being a real number greater than or equal to one and defining adistance between successive data records that are added; and for eachrecord of the plurality of records: set a variable SUMMULTIPLIER equalto zero; set a variable PR as an original price for a bid represented bythe record; set a variable i equal to one; loop N number of times,wherein for each loop: set a variable MULTIPLIER(i)=Ratio”(i−1); set avariable SUMMULTIPLIER=SUMMULTIPLIER+MULTIPLIER(i); and add one to thevariable i; in response to the bid being an accepted bid, set a variableDelta=(PR−MinPR)/SUMMULTIPLIER; in response to the bid being a rejectedbid, set the variable Delta=(MaxPR−PR)/SUMMULTIPLIER; set a variable jequal to one; and loop N number of times, wherein for each loop: set avariable PARTIALSUMMULTIPLIER to a sum of a partial array comprisingMULTIPLIER(1) to MULTIPLIER(j); in response the bid being an acceptedbid, modify the record to use a new price P′ that corresponds to a newprice ratio of PR−Delta*PARTIALSUMMLITPLIER; in response to the bidbeing a rejected bid, modify the record to use a new price P′ thatcorresponds to a new price ratio of PR+Delta*PURTIALSUMMULTIPLIER; savethe modified record as a new record in the historical bid data set toform an enhanced historical bid data set; and add one to the variable j.